home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / AmigaTalk_X / intuition / Screen.st < prev    next >
Encoding:
Text File  |  2002-03-13  |  3.5 KB  |  144 lines

  1. "-------------------------------------------------"
  2. " Screen Class implements control of Amiga Screens"
  3. " screenModeID = 32-bit display mode ID value     "
  4. " ------------------------------------------------"
  5. " NOTE:  The order of the Class instance variables"
  6. "        matters to the underlying AmigaTalk code."
  7. "-------------------------------------------------"
  8.  
  9. Class Screen :Glyph ! private savedTitle screenModeID !
  10. [
  11.    pullScreenUp: numLines    
  12.       "numLines <= 0"
  13.       <primitive 180 5 numLines private>
  14. |     
  15.    pushScreenDown: numLines  
  16.       "numLines >= 0"
  17.       <primitive 180 6 numLines private>
  18. |     
  19.    redrawScreen
  20.       <primitive 180 7 private>
  21. |     
  22.    reOpenScreen
  23.       private <- <primitive 180 8 savedTitle>
  24. |
  25.    displayBeep
  26.       <primitive 180 4 'DisplayBeep' private>
  27. |
  28.    screenToBack
  29.       <primitive 180 4 'ScreenToBack' private>
  30. |
  31.    screenToFront
  32.       <primitive 180 4 'ScreenToFront' private>
  33. |
  34.    turnOffTitle
  35.       <primitive 180 4 'TurnOffTitle' private>
  36. |
  37.    showTitle
  38.       <primitive 180 4 'ShowTitle' private>
  39. |
  40.    setTitle: newTitle
  41.       <primitive 180 3 8 newTitle>.
  42.       savedTitle <- newTitle
  43. |
  44.    setFont: newFontObject
  45.       <primitive 180 3 7 newFontObject>
  46. |
  47.    setBitMap: newBitMapObject
  48.       <primitive 180 3 12 newBitMapObject>
  49. |
  50.    getOrigin
  51.       ^ <primitive 180 2 0 private> @ <primitive 180 2 1 private>
  52. |
  53.    getScreenSize
  54.       ^ <primitive 180 2 2 private> @ <primitive 180 2 3 private>
  55. |
  56.    getScreenPens
  57.       ^ <primitive 180 2 4 private> @ <primitive 180 2 5 private>
  58. |
  59.    getFlags
  60.       ^ <primitive 180 2 6 private>
  61. |
  62.    getType
  63.       ^ <primitive 180 2 11 private>
  64. |
  65.    getViewMode
  66.       ^ <primitive 180 2 10 private>
  67. |
  68.    getTitle
  69.       ^ savedTitle <- <primitive 180 2 8 private>
  70. |
  71.    getDepth
  72.       ^ <primitive 180 2 9 private>
  73. |
  74.    getFontName
  75.       ^ <primitive 180 2 7 private>
  76. |
  77.    getFontObject      
  78.       ^ <primitive 180 2 13 private>
  79. |    
  80.    getBitMap
  81.       ^ <primitive 180 2 12 private> "Return an Integer (BitMap address)"
  82. |
  83.    setScreenPens: pensPoint ! fp bp !
  84.       fp <- pensPoint x.
  85.       bp <- pensPoint y.
  86.  
  87.       <primitive 180 3 4 fp>.
  88.       <primitive 180 3 5 bp>
  89. |
  90.    close
  91.       <primitive 180 0 private>.
  92.       ^ nil
  93. |
  94.    setScreenModeID: newScreenModeID
  95.       screenModeID <- newScreenModeID
  96. |
  97.    getScreenModeID
  98.       ^ <primitive 180 2 10 private>
  99. |
  100.    open: screenTitle
  101.       private    <- <primitive 180 1 screenModeID screenTitle>.
  102.       savedTitle <- screenTitle
  103. |
  104.    new: newScreenModeID
  105.       (savedTitle isNil)
  106.          ifTrue: [ savedTitle <- 'Default ScreenTitle' ].
  107.  
  108.       private      <- <primitive 180 1 newScreenModeID savedTitle>.
  109.       screenModeID <- newScreenModeID.
  110.       ^ self
  111. |
  112.    openScreen: screenMode title: screenTitle
  113.       savedTitle <- screenTitle.
  114.       self          new: screenMode.
  115.       ^ self
  116. |
  117.    openScreenWithTags: tagArray
  118.       private <- <primitive 180 9 tagArray>.
  119.  
  120.       self getTitle. " This assumes you included an SA_Title tag! "
  121.       
  122.       ^ self
  123. |
  124.    getScreenErrorString: errorNumber
  125.       ^ <primitive 180 10 errorNumber>
  126. |
  127.    selectAndOpenScreen ! atalk aTitle userMode !
  128.       "Show the ScreenMode ASL requester & open selection"
  129.  
  130.       atalk <- AmigaTalk new.
  131.  
  132.       atalk setIOMessage: 'What is the Title of the Screen?'. 
  133.       atalk setIOTitle:   'Enter a Screen Title:'.
  134.  
  135.       aTitle <- atalk getString.
  136.       
  137.       atalk setIOTitle:   'Available Screen Modes:'.
  138.       atalk setIOMessage: aTitle.
  139.  
  140.       userMode <- atalk getScreenModeID.
  141.  
  142.       ^ (self openScreen: userMode title: aTitle)
  143. ]
  144.